package es.cazadoresmadridejos.beans.manager.partner;

import java.util.List;
import java.util.Map;
import java.util.Set;

import org.displaytag.pagination.PaginatedList;

import es.cazadoresmadridejos.common.bean.manager.Manager;
import es.cazadoresmadridejos.model.Partner;
import es.cazadoresmadridejos.model.Partner.Role;
import es.cazadoresmadridejos.objs.tablrecords.BigGameOrderTableRecord;
import es.cazadoresmadridejos.objs.web.Page;

public interface PartnerManager extends Manager<Partner>{

	Partner getByName(String userName);

	PaginatedList findAllPaginated(Page page);

	String findAllForAutocomplete();

	String findAllForAutocompleteBigGame(Long notIn);

	List<Partner> findAllByOrder(boolean hasBigGame, boolean hasDeer);
	
	List<Partner> findPartersFromOrderToBigGame(Integer numericValue, Integer stands,boolean hasBigGame, boolean hasDeer);

	void saveOrder(List<Long> ids, boolean isBigGame,boolean isDeer);

	List<Partner> findPartersFromOrderToBigGame(Integer numeric, Integer stands,
			boolean b, boolean c, Set<Long> partnersMap, List<Role> roles);

	List<BigGameOrderTableRecord> findAllByOrder();

	Integer getCountOfBigGameAssistances();

	Map<String, Integer> bigGameInfo(Integer numeric, Integer stands,
			List<Role> roles);

	void importPartners() throws Throwable;

	List<BigGameOrderTableRecord> findAllByAutoOrder();
}
